<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.15"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>CryptoAuthLib: atcacert_def.h File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
  $(document).ready(initResizable);
/* @license-end */</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">CryptoAuthLib
   </div>
   <div id="projectbrief">Microchip CryptoAuthentication Library</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.15 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
  initMenu('',true,false,'search.php','Search');
  $(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function(){initNavTree('a00194.html','');});
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div class="header">
  <div class="summary">
<a href="#nested-classes">Data Structures</a> &#124;
<a href="#define-members">Macros</a> &#124;
<a href="#typedef-members">Typedefs</a> &#124;
<a href="#enum-members">Enumerations</a> &#124;
<a href="#func-members">Functions</a>  </div>
  <div class="headertitle">
<div class="title">atcacert_def.h File Reference</div>  </div>
</div><!--header-->
<div class="contents">

<p>Declarations for certificates related to ECC CryptoAuthentication devices. These are the definitions required to define a certificate and its various elements with regards to the CryptoAuthentication ECC devices.  
<a href="#details">More...</a></p>
<div class="textblock"><code>#include &lt;stddef.h&gt;</code><br />
<code>#include &lt;stdint.h&gt;</code><br />
<code>#include &quot;<a class="el" href="a00176_source.html">atcacert.h</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="a00188_source.html">atcacert_date.h</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="a00314_source.html">basic/atca_helpers.h</a>&quot;</code><br />
</div>
<p><a href="a00194_source.html">Go to the source code of this file.</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Data Structures</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01049.html">atcacert_device_loc_s</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01053.html">atcacert_cert_loc_s</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01057.html">atcacert_cert_element_s</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01061.html">atcacert_def_s</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01065.html">atcacert_build_state_s</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
Macros</h2></td></tr>
<tr class="memitem:a9b992101fd46b72bc8ae49d54e3022c7"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00194.html#a9b992101fd46b72bc8ae49d54e3022c7">ATCA_MAX_TRANSFORMS</a>&#160;&#160;&#160;2</td></tr>
<tr class="separator:a9b992101fd46b72bc8ae49d54e3022c7"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
Typedefs</h2></td></tr>
<tr class="memitem:ga8fcfb1307197295422ace828b40ee37d"><td class="memItemLeft" align="right" valign="top">typedef enum <a class="el" href="a00990.html#ga5430f01929cd7269e04db08d1f28642f">atcacert_cert_type_e</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00990.html#ga8fcfb1307197295422ace828b40ee37d">atcacert_cert_type_t</a></td></tr>
<tr class="separator:ga8fcfb1307197295422ace828b40ee37d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaa557358df9a164d6c1f14b1f53662c6c"><td class="memItemLeft" align="right" valign="top">typedef enum <a class="el" href="a00990.html#ga813047a656af7fe578d28fd54c840e8e">atcacert_cert_sn_src_e</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00990.html#gaa557358df9a164d6c1f14b1f53662c6c">atcacert_cert_sn_src_t</a></td></tr>
<tr class="separator:gaa557358df9a164d6c1f14b1f53662c6c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga294899ca77a6801288e1ccb148de1f8b"><td class="memItemLeft" align="right" valign="top">typedef enum <a class="el" href="a00990.html#ga1c0876228cb459f64347a63f3bae4c73">atcacert_device_zone_e</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00990.html#ga294899ca77a6801288e1ccb148de1f8b">atcacert_device_zone_t</a></td></tr>
<tr class="separator:ga294899ca77a6801288e1ccb148de1f8b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga9026eafcf2dca2c5a4427841e50ac17c"><td class="memItemLeft" align="right" valign="top">typedef enum <a class="el" href="a00990.html#ga121ffde3250c4ca6947c680868aa6017">atcacert_transform_e</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00990.html#ga9026eafcf2dca2c5a4427841e50ac17c">atcacert_transform_t</a></td></tr>
<tr class="memdesc:ga9026eafcf2dca2c5a4427841e50ac17c"><td class="mdescLeft">&#160;</td><td class="mdescRight">How to transform the data from the device to the certificate.  <a href="a00990.html#ga9026eafcf2dca2c5a4427841e50ac17c">More...</a><br /></td></tr>
<tr class="separator:ga9026eafcf2dca2c5a4427841e50ac17c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga4889317187186736e62beb7538b870b2"><td class="memItemLeft" align="right" valign="top">typedef enum <a class="el" href="a00990.html#ga77184d0c71198b489ea9b57d07da824e">atcacert_std_cert_element_e</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00990.html#ga4889317187186736e62beb7538b870b2">atcacert_std_cert_element_t</a></td></tr>
<tr class="separator:ga4889317187186736e62beb7538b870b2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga0fb6e40d2f1496215af2f9ae23c861a0"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="a01049.html">atcacert_device_loc_s</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00990.html#ga0fb6e40d2f1496215af2f9ae23c861a0">atcacert_device_loc_t</a></td></tr>
<tr class="separator:ga0fb6e40d2f1496215af2f9ae23c861a0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gae7c32139e6dce0fe25b4598299a77df6"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="a01053.html">atcacert_cert_loc_s</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00990.html#gae7c32139e6dce0fe25b4598299a77df6">atcacert_cert_loc_t</a></td></tr>
<tr class="separator:gae7c32139e6dce0fe25b4598299a77df6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga8d14206d455a7a7835ed613e57c20dd3"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="a01057.html">atcacert_cert_element_s</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00990.html#ga8d14206d455a7a7835ed613e57c20dd3">atcacert_cert_element_t</a></td></tr>
<tr class="separator:ga8d14206d455a7a7835ed613e57c20dd3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gae9e78b17340263e97844ccaf72ca16ac"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="a01061.html">atcacert_def_s</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00990.html#gae9e78b17340263e97844ccaf72ca16ac">atcacert_def_t</a></td></tr>
<tr class="separator:gae9e78b17340263e97844ccaf72ca16ac"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga92ccf01a2c37be9caa7d840846672c83"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="a01065.html">atcacert_build_state_s</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00990.html#ga92ccf01a2c37be9caa7d840846672c83">atcacert_build_state_t</a></td></tr>
<tr class="separator:ga92ccf01a2c37be9caa7d840846672c83"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="enum-members"></a>
Enumerations</h2></td></tr>
<tr class="memitem:ga5430f01929cd7269e04db08d1f28642f"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00990.html#ga5430f01929cd7269e04db08d1f28642f">atcacert_cert_type_e</a> { <a class="el" href="a00990.html#gga5430f01929cd7269e04db08d1f28642fa82bc16ac5283813ee3ffe7cddf8e2b44">CERTTYPE_X509</a>, 
<a class="el" href="a00990.html#gga5430f01929cd7269e04db08d1f28642fa92c401741edaf606af7056851db7dddb">CERTTYPE_CUSTOM</a>
 }</td></tr>
<tr class="separator:ga5430f01929cd7269e04db08d1f28642f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga813047a656af7fe578d28fd54c840e8e"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00990.html#ga813047a656af7fe578d28fd54c840e8e">atcacert_cert_sn_src_e</a> { <br />
&#160;&#160;<a class="el" href="a00990.html#gga813047a656af7fe578d28fd54c840e8ea1b3e4833214ba25ba3d665135b2b6cd1">SNSRC_STORED</a> = 0x0, 
<a class="el" href="a00990.html#gga813047a656af7fe578d28fd54c840e8ea4c213faf0171fcc6aeb27a1ca344342b">SNSRC_STORED_DYNAMIC</a> = 0x7, 
<a class="el" href="a00990.html#gga813047a656af7fe578d28fd54c840e8ea338258d51f0eb1c5d7ef9f0e639f5e41">SNSRC_DEVICE_SN</a> = 0x8, 
<a class="el" href="a00990.html#gga813047a656af7fe578d28fd54c840e8eabda5814e7da6c10dc243749dea79ffff">SNSRC_SIGNER_ID</a> = 0x9, 
<br />
&#160;&#160;<a class="el" href="a00990.html#gga813047a656af7fe578d28fd54c840e8ea5dadea2da6020b492727eb1da6c4bb1e">SNSRC_PUB_KEY_HASH</a> = 0xA, 
<a class="el" href="a00990.html#gga813047a656af7fe578d28fd54c840e8eaffba4ece10bc933c6b408a2b4e234ab2">SNSRC_DEVICE_SN_HASH</a> = 0xB, 
<a class="el" href="a00990.html#gga813047a656af7fe578d28fd54c840e8eacaf00502661bc7b9c260ca68831928b5">SNSRC_PUB_KEY_HASH_POS</a> = 0xC, 
<a class="el" href="a00990.html#gga813047a656af7fe578d28fd54c840e8eab87e9124d93ca45243eacac5b96452b7">SNSRC_DEVICE_SN_HASH_POS</a> = 0xD, 
<br />
&#160;&#160;<a class="el" href="a00990.html#gga813047a656af7fe578d28fd54c840e8ea83bf725c47007c842da4a8e93b1bf972">SNSRC_PUB_KEY_HASH_RAW</a> = 0xE, 
<a class="el" href="a00990.html#gga813047a656af7fe578d28fd54c840e8ea2d608b2eeb6da309c1e9b2af7060d909">SNSRC_DEVICE_SN_HASH_RAW</a> = 0xF
<br />
 }</td></tr>
<tr class="separator:ga813047a656af7fe578d28fd54c840e8e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga1c0876228cb459f64347a63f3bae4c73"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00990.html#ga1c0876228cb459f64347a63f3bae4c73">atcacert_device_zone_e</a> { <a class="el" href="a00990.html#gga1c0876228cb459f64347a63f3bae4c73a4856bc2fcbda0be68832968204126207">DEVZONE_CONFIG</a> = 0x00, 
<a class="el" href="a00990.html#gga1c0876228cb459f64347a63f3bae4c73ae42ffc066a13ac1f38195d2cf4e60cea">DEVZONE_OTP</a> = 0x01, 
<a class="el" href="a00990.html#gga1c0876228cb459f64347a63f3bae4c73a774ecb8e950d309498a9aa64933d95cb">DEVZONE_DATA</a> = 0x02, 
<a class="el" href="a00990.html#gga1c0876228cb459f64347a63f3bae4c73afe6b6aedf2a765638f3c62817db11f05">DEVZONE_NONE</a> = 0x07
 }</td></tr>
<tr class="separator:ga1c0876228cb459f64347a63f3bae4c73"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga121ffde3250c4ca6947c680868aa6017"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00990.html#ga121ffde3250c4ca6947c680868aa6017">atcacert_transform_e</a> { <br />
&#160;&#160;<a class="el" href="a00990.html#gga121ffde3250c4ca6947c680868aa6017ac87f695cb78c44a56c6306e226c87d84">TF_NONE</a>, 
<a class="el" href="a00990.html#gga121ffde3250c4ca6947c680868aa6017acfa23727589758659b759cc4c1b8e817">TF_REVERSE</a>, 
<a class="el" href="a00990.html#gga121ffde3250c4ca6947c680868aa6017a25e35bbc33f0152a8bc24e07f1a71bf7">TF_BIN2HEX_UC</a>, 
<a class="el" href="a00990.html#gga121ffde3250c4ca6947c680868aa6017a2682cdac7651ff7c68303c6b240b4979">TF_BIN2HEX_LC</a>, 
<br />
&#160;&#160;<a class="el" href="a00990.html#gga121ffde3250c4ca6947c680868aa6017aacc5e6c227eb55801343878d1dd6b779">TF_HEX2BIN_UC</a>, 
<a class="el" href="a00990.html#gga121ffde3250c4ca6947c680868aa6017a55a7f98db8c5480ffb0d2456a91689fd">TF_HEX2BIN_LC</a>, 
<a class="el" href="a00990.html#gga121ffde3250c4ca6947c680868aa6017a651f9d504c16191f36cf1b1762d8c0aa">TF_BIN2HEX_SPACE_UC</a>, 
<a class="el" href="a00990.html#gga121ffde3250c4ca6947c680868aa6017a0cc6a8630e1d28499201e23f355a89fe">TF_BIN2HEX_SPACE_LC</a>, 
<br />
&#160;&#160;<a class="el" href="a00990.html#gga121ffde3250c4ca6947c680868aa6017a62b34cc88494773ef3035a91deaafd08">TF_HEX2BIN_SPACE_UC</a>, 
<a class="el" href="a00990.html#gga121ffde3250c4ca6947c680868aa6017af1a0d28ef10a4e4f74d6bfbfc371300d">TF_HEX2BIN_SPACE_LC</a>
<br />
 }</td></tr>
<tr class="memdesc:ga121ffde3250c4ca6947c680868aa6017"><td class="mdescLeft">&#160;</td><td class="mdescRight">How to transform the data from the device to the certificate.  <a href="a00990.html#ga121ffde3250c4ca6947c680868aa6017">More...</a><br /></td></tr>
<tr class="separator:ga121ffde3250c4ca6947c680868aa6017"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga77184d0c71198b489ea9b57d07da824e"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00990.html#ga77184d0c71198b489ea9b57d07da824e">atcacert_std_cert_element_e</a> { <br />
&#160;&#160;<a class="el" href="a00990.html#gga77184d0c71198b489ea9b57d07da824eaf78a51bddeca05e1a525f26792b6de68">STDCERT_PUBLIC_KEY</a>, 
<a class="el" href="a00990.html#gga77184d0c71198b489ea9b57d07da824ea8eab5679d330212bb87b2413ea82b7cc">STDCERT_SIGNATURE</a>, 
<a class="el" href="a00990.html#gga77184d0c71198b489ea9b57d07da824ea2f3039692a71546e581fcaf8a8a53f15">STDCERT_ISSUE_DATE</a>, 
<a class="el" href="a00990.html#gga77184d0c71198b489ea9b57d07da824ea886b91f34d6839fe9e9217490530c604">STDCERT_EXPIRE_DATE</a>, 
<br />
&#160;&#160;<a class="el" href="a00990.html#gga77184d0c71198b489ea9b57d07da824eadfaaad6a933423f63fc3233bd84b90d3">STDCERT_SIGNER_ID</a>, 
<a class="el" href="a00990.html#gga77184d0c71198b489ea9b57d07da824ea73b3d53d4e70a48fd3fdeb0143493efc">STDCERT_CERT_SN</a>, 
<a class="el" href="a00990.html#gga77184d0c71198b489ea9b57d07da824ea6a9cddad9f6b552f0fe5f63fc57cf106">STDCERT_AUTH_KEY_ID</a>, 
<a class="el" href="a00990.html#gga77184d0c71198b489ea9b57d07da824ea97400647cc539ce999c0b9f95d736585">STDCERT_SUBJ_KEY_ID</a>, 
<br />
&#160;&#160;<a class="el" href="a00990.html#gga77184d0c71198b489ea9b57d07da824ead9a44768825ebcc67750d8e4172dc60f">STDCERT_NUM_ELEMENTS</a>
<br />
 }</td></tr>
<tr class="separator:ga77184d0c71198b489ea9b57d07da824e"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:ga84f1aeed7b88889d5bf01f21dbaaf398"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00990.html#ga84f1aeed7b88889d5bf01f21dbaaf398">atcacert_get_device_locs</a> (const <a class="el" href="a00990.html#gae9e78b17340263e97844ccaf72ca16ac">atcacert_def_t</a> *cert_def, <a class="el" href="a00990.html#ga0fb6e40d2f1496215af2f9ae23c861a0">atcacert_device_loc_t</a> *device_locs, size_t *device_locs_count, size_t device_locs_max_count, size_t block_size)</td></tr>
<tr class="memdesc:ga84f1aeed7b88889d5bf01f21dbaaf398"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add all the device locations required to rebuild the specified certificate (cert_def) to a device locations list.  <a href="a00990.html#ga84f1aeed7b88889d5bf01f21dbaaf398">More...</a><br /></td></tr>
<tr class="separator:ga84f1aeed7b88889d5bf01f21dbaaf398"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gace8ac017f58840c296fe2cf29bdaa2fe"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00990.html#gace8ac017f58840c296fe2cf29bdaa2fe">atcacert_cert_build_start</a> (<a class="el" href="a00990.html#ga92ccf01a2c37be9caa7d840846672c83">atcacert_build_state_t</a> *build_state, const <a class="el" href="a00990.html#gae9e78b17340263e97844ccaf72ca16ac">atcacert_def_t</a> *cert_def, uint8_t *cert, size_t *cert_size, const uint8_t ca_public_key[64])</td></tr>
<tr class="memdesc:gace8ac017f58840c296fe2cf29bdaa2fe"><td class="mdescLeft">&#160;</td><td class="mdescRight">Starts the certificate rebuilding process.  <a href="a00990.html#gace8ac017f58840c296fe2cf29bdaa2fe">More...</a><br /></td></tr>
<tr class="separator:gace8ac017f58840c296fe2cf29bdaa2fe"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga626158cfe54b84903885b2cc6c3880e4"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00990.html#ga626158cfe54b84903885b2cc6c3880e4">atcacert_cert_build_process</a> (<a class="el" href="a00990.html#ga92ccf01a2c37be9caa7d840846672c83">atcacert_build_state_t</a> *build_state, const <a class="el" href="a00990.html#ga0fb6e40d2f1496215af2f9ae23c861a0">atcacert_device_loc_t</a> *device_loc, const uint8_t *device_data)</td></tr>
<tr class="memdesc:ga626158cfe54b84903885b2cc6c3880e4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Process information read from the ATECC device. If it contains information for the certificate, it will be incorporated into the certificate.  <a href="a00990.html#ga626158cfe54b84903885b2cc6c3880e4">More...</a><br /></td></tr>
<tr class="separator:ga626158cfe54b84903885b2cc6c3880e4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga9e594a491dccf61a638be46da5d40ff9"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00990.html#ga9e594a491dccf61a638be46da5d40ff9">atcacert_cert_build_finish</a> (<a class="el" href="a00990.html#ga92ccf01a2c37be9caa7d840846672c83">atcacert_build_state_t</a> *build_state)</td></tr>
<tr class="memdesc:ga9e594a491dccf61a638be46da5d40ff9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Completes any final certificate processing required after all data from the device has been incorporated.  <a href="a00990.html#ga9e594a491dccf61a638be46da5d40ff9">More...</a><br /></td></tr>
<tr class="separator:ga9e594a491dccf61a638be46da5d40ff9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga240f94a03feb298e5c618677f2962a5a"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00990.html#ga240f94a03feb298e5c618677f2962a5a">atcacert_get_device_data</a> (const <a class="el" href="a00990.html#gae9e78b17340263e97844ccaf72ca16ac">atcacert_def_t</a> *cert_def, const uint8_t *cert, size_t cert_size, const <a class="el" href="a00990.html#ga0fb6e40d2f1496215af2f9ae23c861a0">atcacert_device_loc_t</a> *device_loc, uint8_t *device_data)</td></tr>
<tr class="memdesc:ga240f94a03feb298e5c618677f2962a5a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the dynamic data that would be saved to the specified device location. This function is primarily used to break down a full certificate into the dynamic components to be saved to a device.  <a href="a00990.html#ga240f94a03feb298e5c618677f2962a5a">More...</a><br /></td></tr>
<tr class="separator:ga240f94a03feb298e5c618677f2962a5a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga4c4d5fe988ebface171689f3aa122e12"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00990.html#ga4c4d5fe988ebface171689f3aa122e12">atcacert_set_subj_public_key</a> (const <a class="el" href="a00990.html#gae9e78b17340263e97844ccaf72ca16ac">atcacert_def_t</a> *cert_def, uint8_t *cert, size_t cert_size, const uint8_t subj_public_key[64])</td></tr>
<tr class="memdesc:ga4c4d5fe988ebface171689f3aa122e12"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the subject public key and subject key ID in a certificate.  <a href="a00990.html#ga4c4d5fe988ebface171689f3aa122e12">More...</a><br /></td></tr>
<tr class="separator:ga4c4d5fe988ebface171689f3aa122e12"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab4fac3fd2bf5a227140cc3012a4dad02"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00990.html#gab4fac3fd2bf5a227140cc3012a4dad02">atcacert_get_subj_public_key</a> (const <a class="el" href="a00990.html#gae9e78b17340263e97844ccaf72ca16ac">atcacert_def_t</a> *cert_def, const uint8_t *cert, size_t cert_size, uint8_t subj_public_key[64])</td></tr>
<tr class="memdesc:gab4fac3fd2bf5a227140cc3012a4dad02"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the subject public key from a certificate.  <a href="a00990.html#gab4fac3fd2bf5a227140cc3012a4dad02">More...</a><br /></td></tr>
<tr class="separator:gab4fac3fd2bf5a227140cc3012a4dad02"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga2843ebd40b7f0b6b4bf22cd447fa90e0"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00990.html#ga2843ebd40b7f0b6b4bf22cd447fa90e0">atcacert_get_subj_key_id</a> (const <a class="el" href="a00990.html#gae9e78b17340263e97844ccaf72ca16ac">atcacert_def_t</a> *cert_def, const uint8_t *cert, size_t cert_size, uint8_t subj_key_id[20])</td></tr>
<tr class="memdesc:ga2843ebd40b7f0b6b4bf22cd447fa90e0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the subject key ID from a certificate.  <a href="a00990.html#ga2843ebd40b7f0b6b4bf22cd447fa90e0">More...</a><br /></td></tr>
<tr class="separator:ga2843ebd40b7f0b6b4bf22cd447fa90e0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf1f3cdf5e1e65c9abcbe98ae046d9bf2"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00990.html#gaf1f3cdf5e1e65c9abcbe98ae046d9bf2">atcacert_set_signature</a> (const <a class="el" href="a00990.html#gae9e78b17340263e97844ccaf72ca16ac">atcacert_def_t</a> *cert_def, uint8_t *cert, size_t *cert_size, size_t max_cert_size, const uint8_t signature[64])</td></tr>
<tr class="memdesc:gaf1f3cdf5e1e65c9abcbe98ae046d9bf2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the signature in a certificate. This may alter the size of the X.509 certificates.  <a href="a00990.html#gaf1f3cdf5e1e65c9abcbe98ae046d9bf2">More...</a><br /></td></tr>
<tr class="separator:gaf1f3cdf5e1e65c9abcbe98ae046d9bf2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf55b75df5e523e2d275ebb8cbe36fec6"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00990.html#gaf55b75df5e523e2d275ebb8cbe36fec6">atcacert_get_signature</a> (const <a class="el" href="a00990.html#gae9e78b17340263e97844ccaf72ca16ac">atcacert_def_t</a> *cert_def, const uint8_t *cert, size_t cert_size, uint8_t signature[64])</td></tr>
<tr class="memdesc:gaf55b75df5e523e2d275ebb8cbe36fec6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the signature from a certificate.  <a href="a00990.html#gaf55b75df5e523e2d275ebb8cbe36fec6">More...</a><br /></td></tr>
<tr class="separator:gaf55b75df5e523e2d275ebb8cbe36fec6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga36d4893ccd152a8ec18f84f90a5e3cb5"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00990.html#ga36d4893ccd152a8ec18f84f90a5e3cb5">atcacert_set_issue_date</a> (const <a class="el" href="a00990.html#gae9e78b17340263e97844ccaf72ca16ac">atcacert_def_t</a> *cert_def, uint8_t *cert, size_t cert_size, const <a class="el" href="a00990.html#ga81a3a91e9aa4aca39ca6fe8a7a94b121">atcacert_tm_utc_t</a> *timestamp)</td></tr>
<tr class="memdesc:ga36d4893ccd152a8ec18f84f90a5e3cb5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the issue date (notBefore) in a certificate. Will be formatted according to the date format specified in the certificate definition.  <a href="a00990.html#ga36d4893ccd152a8ec18f84f90a5e3cb5">More...</a><br /></td></tr>
<tr class="separator:ga36d4893ccd152a8ec18f84f90a5e3cb5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga51f7b996909bc9cae783bcaf0fe7082b"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00990.html#ga51f7b996909bc9cae783bcaf0fe7082b">atcacert_get_issue_date</a> (const <a class="el" href="a00990.html#gae9e78b17340263e97844ccaf72ca16ac">atcacert_def_t</a> *cert_def, const uint8_t *cert, size_t cert_size, <a class="el" href="a00990.html#ga81a3a91e9aa4aca39ca6fe8a7a94b121">atcacert_tm_utc_t</a> *timestamp)</td></tr>
<tr class="memdesc:ga51f7b996909bc9cae783bcaf0fe7082b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the issue date from a certificate. Will be parsed according to the date format specified in the certificate definition.  <a href="a00990.html#ga51f7b996909bc9cae783bcaf0fe7082b">More...</a><br /></td></tr>
<tr class="separator:ga51f7b996909bc9cae783bcaf0fe7082b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad499cd0bdce799a3278f99c80e0f9143"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00990.html#gad499cd0bdce799a3278f99c80e0f9143">atcacert_set_expire_date</a> (const <a class="el" href="a00990.html#gae9e78b17340263e97844ccaf72ca16ac">atcacert_def_t</a> *cert_def, uint8_t *cert, size_t cert_size, const <a class="el" href="a00990.html#ga81a3a91e9aa4aca39ca6fe8a7a94b121">atcacert_tm_utc_t</a> *timestamp)</td></tr>
<tr class="memdesc:gad499cd0bdce799a3278f99c80e0f9143"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the expire date (notAfter) in a certificate. Will be formatted according to the date format specified in the certificate definition.  <a href="a00990.html#gad499cd0bdce799a3278f99c80e0f9143">More...</a><br /></td></tr>
<tr class="separator:gad499cd0bdce799a3278f99c80e0f9143"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga8d1d761d35cf36feea5c626bb1d70ab2"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00990.html#ga8d1d761d35cf36feea5c626bb1d70ab2">atcacert_get_expire_date</a> (const <a class="el" href="a00990.html#gae9e78b17340263e97844ccaf72ca16ac">atcacert_def_t</a> *cert_def, const uint8_t *cert, size_t cert_size, <a class="el" href="a00990.html#ga81a3a91e9aa4aca39ca6fe8a7a94b121">atcacert_tm_utc_t</a> *timestamp)</td></tr>
<tr class="memdesc:ga8d1d761d35cf36feea5c626bb1d70ab2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the expire date from a certificate. Will be parsed according to the date format specified in the certificate definition.  <a href="a00990.html#ga8d1d761d35cf36feea5c626bb1d70ab2">More...</a><br /></td></tr>
<tr class="separator:ga8d1d761d35cf36feea5c626bb1d70ab2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga82ca7cff42ee4496a40076faac7ff6f6"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00990.html#ga82ca7cff42ee4496a40076faac7ff6f6">atcacert_set_signer_id</a> (const <a class="el" href="a00990.html#gae9e78b17340263e97844ccaf72ca16ac">atcacert_def_t</a> *cert_def, uint8_t *cert, size_t cert_size, const uint8_t signer_id[2])</td></tr>
<tr class="memdesc:ga82ca7cff42ee4496a40076faac7ff6f6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the signer ID in a certificate. Will be formatted as 4 upper-case hex digits.  <a href="a00990.html#ga82ca7cff42ee4496a40076faac7ff6f6">More...</a><br /></td></tr>
<tr class="separator:ga82ca7cff42ee4496a40076faac7ff6f6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga1201f3c1a20b5b105f9160bea104b102"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00990.html#ga1201f3c1a20b5b105f9160bea104b102">atcacert_get_signer_id</a> (const <a class="el" href="a00990.html#gae9e78b17340263e97844ccaf72ca16ac">atcacert_def_t</a> *cert_def, const uint8_t *cert, size_t cert_size, uint8_t signer_id[2])</td></tr>
<tr class="memdesc:ga1201f3c1a20b5b105f9160bea104b102"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the signer ID from a certificate. Will be parsed as 4 upper-case hex digits.  <a href="a00990.html#ga1201f3c1a20b5b105f9160bea104b102">More...</a><br /></td></tr>
<tr class="separator:ga1201f3c1a20b5b105f9160bea104b102"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga0a5a5fb234b9aa7093ae3a0bb2785f73"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00990.html#ga0a5a5fb234b9aa7093ae3a0bb2785f73">atcacert_set_cert_sn</a> (const <a class="el" href="a00990.html#gae9e78b17340263e97844ccaf72ca16ac">atcacert_def_t</a> *cert_def, uint8_t *cert, size_t *cert_size, size_t max_cert_size, const uint8_t *cert_sn, size_t cert_sn_size)</td></tr>
<tr class="memdesc:ga0a5a5fb234b9aa7093ae3a0bb2785f73"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the certificate serial number in a certificate.  <a href="a00990.html#ga0a5a5fb234b9aa7093ae3a0bb2785f73">More...</a><br /></td></tr>
<tr class="separator:ga0a5a5fb234b9aa7093ae3a0bb2785f73"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gae1f109cb8edea615c0f7126527208452"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00990.html#gae1f109cb8edea615c0f7126527208452">atcacert_gen_cert_sn</a> (const <a class="el" href="a00990.html#gae9e78b17340263e97844ccaf72ca16ac">atcacert_def_t</a> *cert_def, uint8_t *cert, size_t cert_size, const uint8_t device_sn[9])</td></tr>
<tr class="memdesc:gae1f109cb8edea615c0f7126527208452"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the certificate serial number by generating it from other information in the certificate using the scheme specified by sn_source in cert_def. See the.  <a href="a00990.html#gae1f109cb8edea615c0f7126527208452">More...</a><br /></td></tr>
<tr class="separator:gae1f109cb8edea615c0f7126527208452"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf64c228c28f42f15e9b43457146d1504"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00990.html#gaf64c228c28f42f15e9b43457146d1504">atcacert_get_cert_sn</a> (const <a class="el" href="a00990.html#gae9e78b17340263e97844ccaf72ca16ac">atcacert_def_t</a> *cert_def, const uint8_t *cert, size_t cert_size, uint8_t *cert_sn, size_t *cert_sn_size)</td></tr>
<tr class="memdesc:gaf64c228c28f42f15e9b43457146d1504"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the certificate serial number from a certificate.  <a href="a00990.html#gaf64c228c28f42f15e9b43457146d1504">More...</a><br /></td></tr>
<tr class="separator:gaf64c228c28f42f15e9b43457146d1504"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga7b22f63ccda2cba10d5ca3dd9c39a06c"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00990.html#ga7b22f63ccda2cba10d5ca3dd9c39a06c">atcacert_set_auth_key_id</a> (const <a class="el" href="a00990.html#gae9e78b17340263e97844ccaf72ca16ac">atcacert_def_t</a> *cert_def, uint8_t *cert, size_t cert_size, const uint8_t auth_public_key[64])</td></tr>
<tr class="memdesc:ga7b22f63ccda2cba10d5ca3dd9c39a06c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the authority key ID in a certificate. Note that this takes the actual public key creates a key ID from it.  <a href="a00990.html#ga7b22f63ccda2cba10d5ca3dd9c39a06c">More...</a><br /></td></tr>
<tr class="separator:ga7b22f63ccda2cba10d5ca3dd9c39a06c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga94a3b57e412fe2cfddf92fdc8e54a41e"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00990.html#ga94a3b57e412fe2cfddf92fdc8e54a41e">atcacert_set_auth_key_id_raw</a> (const <a class="el" href="a00990.html#gae9e78b17340263e97844ccaf72ca16ac">atcacert_def_t</a> *cert_def, uint8_t *cert, size_t cert_size, const uint8_t *auth_key_id)</td></tr>
<tr class="memdesc:ga94a3b57e412fe2cfddf92fdc8e54a41e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the authority key ID in a certificate.  <a href="a00990.html#ga94a3b57e412fe2cfddf92fdc8e54a41e">More...</a><br /></td></tr>
<tr class="separator:ga94a3b57e412fe2cfddf92fdc8e54a41e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gadf6c26dd4333931acf2b8f6ac9a5f422"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00990.html#gadf6c26dd4333931acf2b8f6ac9a5f422">atcacert_get_auth_key_id</a> (const <a class="el" href="a00990.html#gae9e78b17340263e97844ccaf72ca16ac">atcacert_def_t</a> *cert_def, const uint8_t *cert, size_t cert_size, uint8_t auth_key_id[20])</td></tr>
<tr class="memdesc:gadf6c26dd4333931acf2b8f6ac9a5f422"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the authority key ID from a certificate.  <a href="a00990.html#gadf6c26dd4333931acf2b8f6ac9a5f422">More...</a><br /></td></tr>
<tr class="separator:gadf6c26dd4333931acf2b8f6ac9a5f422"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga2e2c59c41193e71b1a4b96f58642bb49"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00990.html#ga2e2c59c41193e71b1a4b96f58642bb49">atcacert_set_comp_cert</a> (const <a class="el" href="a00990.html#gae9e78b17340263e97844ccaf72ca16ac">atcacert_def_t</a> *cert_def, uint8_t *cert, size_t *cert_size, size_t max_cert_size, const uint8_t comp_cert[72])</td></tr>
<tr class="memdesc:ga2e2c59c41193e71b1a4b96f58642bb49"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the signature, issue date, expire date, and signer ID found in the compressed certificate. This also checks fields common between the cert_def and the compressed certificate to make sure they match.  <a href="a00990.html#ga2e2c59c41193e71b1a4b96f58642bb49">More...</a><br /></td></tr>
<tr class="separator:ga2e2c59c41193e71b1a4b96f58642bb49"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga9a7903692035d06b5d1a45c3b56fce3a"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00990.html#ga9a7903692035d06b5d1a45c3b56fce3a">atcacert_get_comp_cert</a> (const <a class="el" href="a00990.html#gae9e78b17340263e97844ccaf72ca16ac">atcacert_def_t</a> *cert_def, const uint8_t *cert, size_t cert_size, uint8_t comp_cert[72])</td></tr>
<tr class="memdesc:ga9a7903692035d06b5d1a45c3b56fce3a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Generate the compressed certificate for the given certificate.  <a href="a00990.html#ga9a7903692035d06b5d1a45c3b56fce3a">More...</a><br /></td></tr>
<tr class="separator:ga9a7903692035d06b5d1a45c3b56fce3a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga9883eaf43aa94e7a29c1bdf13514185c"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00990.html#ga9883eaf43aa94e7a29c1bdf13514185c">atcacert_get_tbs</a> (const <a class="el" href="a00990.html#gae9e78b17340263e97844ccaf72ca16ac">atcacert_def_t</a> *cert_def, const uint8_t *cert, size_t cert_size, const uint8_t **tbs, size_t *tbs_size)</td></tr>
<tr class="memdesc:ga9883eaf43aa94e7a29c1bdf13514185c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get a pointer to the TBS data in a certificate.  <a href="a00990.html#ga9883eaf43aa94e7a29c1bdf13514185c">More...</a><br /></td></tr>
<tr class="separator:ga9883eaf43aa94e7a29c1bdf13514185c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga0b2fd4ca54a1fde2d0d669b1fc11284a"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00990.html#ga0b2fd4ca54a1fde2d0d669b1fc11284a">atcacert_get_tbs_digest</a> (const <a class="el" href="a00990.html#gae9e78b17340263e97844ccaf72ca16ac">atcacert_def_t</a> *cert_def, const uint8_t *cert, size_t cert_size, uint8_t tbs_digest[32])</td></tr>
<tr class="memdesc:ga0b2fd4ca54a1fde2d0d669b1fc11284a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the SHA256 digest of certificate's TBS data.  <a href="a00990.html#ga0b2fd4ca54a1fde2d0d669b1fc11284a">More...</a><br /></td></tr>
<tr class="separator:ga0b2fd4ca54a1fde2d0d669b1fc11284a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga5dacb3927ef7eacfaf8c4e28641f7bce"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00990.html#ga5dacb3927ef7eacfaf8c4e28641f7bce">atcacert_set_cert_element</a> (const <a class="el" href="a00990.html#gae9e78b17340263e97844ccaf72ca16ac">atcacert_def_t</a> *cert_def, const <a class="el" href="a00990.html#gae7c32139e6dce0fe25b4598299a77df6">atcacert_cert_loc_t</a> *cert_loc, uint8_t *cert, size_t cert_size, const uint8_t *data, size_t data_size)</td></tr>
<tr class="memdesc:ga5dacb3927ef7eacfaf8c4e28641f7bce"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets an element in a certificate. The data_size must match the size in cert_loc.  <a href="a00990.html#ga5dacb3927ef7eacfaf8c4e28641f7bce">More...</a><br /></td></tr>
<tr class="separator:ga5dacb3927ef7eacfaf8c4e28641f7bce"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gacdb102fcae9f3a822a19b2ca487b415d"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00990.html#gacdb102fcae9f3a822a19b2ca487b415d">atcacert_get_cert_element</a> (const <a class="el" href="a00990.html#gae9e78b17340263e97844ccaf72ca16ac">atcacert_def_t</a> *cert_def, const <a class="el" href="a00990.html#gae7c32139e6dce0fe25b4598299a77df6">atcacert_cert_loc_t</a> *cert_loc, const uint8_t *cert, size_t cert_size, uint8_t *data, size_t data_size)</td></tr>
<tr class="memdesc:gacdb102fcae9f3a822a19b2ca487b415d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets an element from a certificate.  <a href="a00990.html#gacdb102fcae9f3a822a19b2ca487b415d">More...</a><br /></td></tr>
<tr class="separator:gacdb102fcae9f3a822a19b2ca487b415d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad93de2bdacdcfe04abb0e991a8401388"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00990.html#gad93de2bdacdcfe04abb0e991a8401388">atcacert_get_key_id</a> (const uint8_t public_key[64], uint8_t key_id[20])</td></tr>
<tr class="memdesc:gad93de2bdacdcfe04abb0e991a8401388"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculates the key ID for a given public ECC P256 key.  <a href="a00990.html#gad93de2bdacdcfe04abb0e991a8401388">More...</a><br /></td></tr>
<tr class="separator:gad93de2bdacdcfe04abb0e991a8401388"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga593780a1837f517ce75bb19d9c5c9db7"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00990.html#ga593780a1837f517ce75bb19d9c5c9db7">atcacert_merge_device_loc</a> (<a class="el" href="a00990.html#ga0fb6e40d2f1496215af2f9ae23c861a0">atcacert_device_loc_t</a> *device_locs, size_t *device_locs_count, size_t device_locs_max_count, const <a class="el" href="a00990.html#ga0fb6e40d2f1496215af2f9ae23c861a0">atcacert_device_loc_t</a> *device_loc, size_t block_size)</td></tr>
<tr class="memdesc:ga593780a1837f517ce75bb19d9c5c9db7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Merge a new device location into a list of device locations. If the new location overlaps with an existing location, the existing one will be modified to encompass both. Otherwise the new location is appended to the end of the list.  <a href="a00990.html#ga593780a1837f517ce75bb19d9c5c9db7">More...</a><br /></td></tr>
<tr class="separator:ga593780a1837f517ce75bb19d9c5c9db7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad2e2ceb6fb7614254a94e89ba244fee7"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00990.html#gad2e2ceb6fb7614254a94e89ba244fee7">atcacert_is_device_loc_overlap</a> (const <a class="el" href="a00990.html#ga0fb6e40d2f1496215af2f9ae23c861a0">atcacert_device_loc_t</a> *device_loc1, const <a class="el" href="a00990.html#ga0fb6e40d2f1496215af2f9ae23c861a0">atcacert_device_loc_t</a> *device_loc2)</td></tr>
<tr class="memdesc:gad2e2ceb6fb7614254a94e89ba244fee7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Determines if the two device locations overlap.  <a href="a00990.html#gad2e2ceb6fb7614254a94e89ba244fee7">More...</a><br /></td></tr>
<tr class="separator:gad2e2ceb6fb7614254a94e89ba244fee7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga7337facc592df42d585b22345e333ae3"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00990.html#ga7337facc592df42d585b22345e333ae3">atcacert_public_key_add_padding</a> (const uint8_t raw_key[64], uint8_t padded_key[72])</td></tr>
<tr class="memdesc:ga7337facc592df42d585b22345e333ae3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Takes a raw P256 ECC public key and converts it to the padded version used by ATECC devices. Input and output buffers can point to the same location to do an in-place transform.  <a href="a00990.html#ga7337facc592df42d585b22345e333ae3">More...</a><br /></td></tr>
<tr class="separator:ga7337facc592df42d585b22345e333ae3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gadb83dfb792f1e6e90ce6a3d39f64e129"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00990.html#gadb83dfb792f1e6e90ce6a3d39f64e129">atcacert_public_key_remove_padding</a> (const uint8_t padded_key[72], uint8_t raw_key[64])</td></tr>
<tr class="memdesc:gadb83dfb792f1e6e90ce6a3d39f64e129"><td class="mdescLeft">&#160;</td><td class="mdescRight">Takes a padded public key used by ATECC devices and converts it to a raw P256 ECC public key. Input and output buffers can point to the same location to do an in-place transform.  <a href="a00990.html#gadb83dfb792f1e6e90ce6a3d39f64e129">More...</a><br /></td></tr>
<tr class="separator:gadb83dfb792f1e6e90ce6a3d39f64e129"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaaea332f6f0adfdbed2cbaac15e19a4cc"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00990.html#gaaea332f6f0adfdbed2cbaac15e19a4cc">atcacert_transform_data</a> (<a class="el" href="a00990.html#ga9026eafcf2dca2c5a4427841e50ac17c">atcacert_transform_t</a> transform, const uint8_t *data, size_t data_size, uint8_t *destination, size_t *destination_size)</td></tr>
<tr class="memdesc:gaaea332f6f0adfdbed2cbaac15e19a4cc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Apply the specified transform to the specified data.  <a href="a00990.html#gaaea332f6f0adfdbed2cbaac15e19a4cc">More...</a><br /></td></tr>
<tr class="separator:gaaea332f6f0adfdbed2cbaac15e19a4cc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga2e29c301e8378aeb99ec3675a4b9d7a0"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00990.html#ga2e29c301e8378aeb99ec3675a4b9d7a0">atcacert_max_cert_size</a> (const <a class="el" href="a00990.html#gae9e78b17340263e97844ccaf72ca16ac">atcacert_def_t</a> *cert_def, size_t *max_cert_size)</td></tr>
<tr class="memdesc:ga2e29c301e8378aeb99ec3675a4b9d7a0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the maximum possible certificate size in bytes for a given cert def. Certificate can be variable size, so this gives an appropriate buffer size when reading the certificates.  <a href="a00990.html#ga2e29c301e8378aeb99ec3675a4b9d7a0">More...</a><br /></td></tr>
<tr class="separator:ga2e29c301e8378aeb99ec3675a4b9d7a0"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Declarations for certificates related to ECC CryptoAuthentication devices. These are the definitions required to define a certificate and its various elements with regards to the CryptoAuthentication ECC devices. </p>
<p>Only the dynamic elements of a certificate (the parts of the certificate that change from device to device) are stored on the ATECC device. The definitions here describe the form of the certificate, and where the dynamic elements can be found both on the ATECC device itself and in the certificate template.</p>
<p>This also defines utility functions for working with the certificates and their definitions.</p>
<dl class="section copyright"><dt>Copyright</dt><dd>(c) 2015-2018 Microchip Technology Inc. and its subsidiaries. </dd></dl>
</div><h2 class="groupheader">Macro Definition Documentation</h2>
<a id="a9b992101fd46b72bc8ae49d54e3022c7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9b992101fd46b72bc8ae49d54e3022c7">&#9670;&nbsp;</a></span>ATCA_MAX_TRANSFORMS</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define ATCA_MAX_TRANSFORMS&#160;&#160;&#160;2</td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="navelem"><a class="el" href="dir_97aefd0d527b934f1d99a682da8fe6a9.html">lib</a></li><li class="navelem"><a class="el" href="dir_26647cdac0a1f8c717d44b4eb3b4ec89.html">atcacert</a></li><li class="navelem"><a class="el" href="a00194.html">atcacert_def.h</a></li>
    <li class="footer">Generated by
    <a href="http://www.doxygen.org/index.html">
    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.15 </li>
  </ul>
</div>
</body>
</html>
